libxc: Fix xc_domain_bind_pt_irq().
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 27 Dec 2007 12:30:44 +0000 (12:30 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 27 Dec 2007 12:30:44 +0000 (12:30 +0000)
Signed-off-by: Guy Zana <guy@neocleus.com>
tools/libxc/xc_domain.c

index e6eac869a841c0faee4cbc2762ae9b60adc9fbc4..8be00d1ab62cbfff1fdeb20ecf7ad13bbc4ab1dd 100644 (file)
@@ -786,7 +786,7 @@ int xc_domain_bind_pt_irq(
     uint8_t bus,
     uint8_t device,
     uint8_t intx,
-                                                 uint8_t isa_irq)
+    uint8_t isa_irq)
 {
     int rc;
     xen_domctl_bind_pt_irq_t * bind;
@@ -799,10 +799,14 @@ int xc_domain_bind_pt_irq(
     bind->hvm_domid = domid;
     bind->irq_type = irq_type;
     bind->machine_irq = machine_irq;
-    bind->u.pci.bus = bus;
-    bind->u.pci.device = device;    
-    bind->u.pci.intx = intx;
-    bind->u.isa.isa_irq = isa_irq;
+    if ( irq_type == PT_IRQ_TYPE_PCI )
+    {
+        bind->u.pci.bus = bus;
+        bind->u.pci.device = device;    
+        bind->u.pci.intx = intx;
+    } 
+    else if ( irq_type == PT_IRQ_TYPE_ISA )
+        bind->u.isa.isa_irq = isa_irq;
     
     rc = do_domctl(xc_handle, &domctl);
     return rc;